iT邦幫忙

2025 iThome 鐵人賽

DAY 20
0
Security

一天一題picoCTF:從Easy開始的新手生活系列 第 20

Day 20 - Path Traversal

  • 分享至 

  • xImage
  •  

Path Traversal(也稱 Directory Traversal)讓攻擊者能讀取伺服器上原本不應該存取的檔案(例如 /etc/passwd、應用私密檔)。

什麼是 Path Traversal?

  • 在作業系統中,.. 代表上一層目錄;若應用把使用者輸入直接拼到檔案路徑上(例如 open("/var/www/html/uploads/" + filename)),攻擊者就能輸入 ../../.. 跳出預期目錄,讀取任意檔案。
  • 重點在於「應用沒有正規化或限制使用者控制的路徑」

常見 payload 與變形

  • 基本:../../../../some dir/some file
  • URL encode:..%2F..%2Fsome dir%2Fsome file
  • UTF-8/過濾繞過技巧:
    • 使用替代點表示(%2e%2e%2f.%2e/%2e%2e/ 等)
    • 混合編碼(..%2f..%252f..%2f/etc/passwd
  • Null byte(老舊漏洞):../../some dir/some file%00
  • Windows:使用 ..\..\Windows\win.ini 類似路徑
  • php://filter結合以讀取檔案內容(屬於 LFI 與特殊技巧的交集):file=php://filter/convert.base64-encode/resource=../../config.php

檢測方法

  • 在檔名參數輸入 ../,看是否回傳系統檔內容或出現錯誤
  • 嘗試讀取可辨識的檔案(/etc/hosts, /etc/passwd)確認成功

好欸接下來我們來看今天的題目吧!

picoCTF - Forbidden Paths

https://ithelp.ithome.com.tw/upload/images/20250915/20169105WKNINSWbIU.png

題目說了我們現在的檔案在 /usr/share/nginx/html/,而我們要的flag位在/flag.txt,所以我們要往回跳四層

最終payload就是../../../../flag.txt

https://ithelp.ithome.com.tw/upload/images/20250915/20169105kWrK61OQoT.png

Read之後就能獲得flag啦!

題單


以上就是今天的內容啦

想看更多,記得明天再來喔~


上一篇
Day 19 - SQL injection
下一篇
Day 21 - command injection
系列文
一天一題picoCTF:從Easy開始的新手生活27
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言